Data compression techniques are useful for reducing the number of bits that must be stored or transmitted when archiving or transmitting a digital data stream. If the number of bits per source symbol generated by the compression technique is a constant, then the technique is said to be fixed rate. Conversely, if the number of bits per source symbol generated varies throughout the compression, then the technique is said to be variable rate. Generally, variable rate techniques will employ a variable length entropy coding scheme such as Huffman coding to encode the source .symbols, resulting in lower distortion of the data when compared to a fixed rate technique at the same rate. Therefore, from an overall performance standpoint, it is generally advantageous to use a variable rate data compression scheme. However, in many applications the transmission channel is a fixed rate link, which means that a method of coupling the output of the variable rate data compression module into the fixed rate channel is required.
The concept of controlling the output rate of a variable rate data compression technique that operates in a single configuration is well known in the prior art, as is noted in U.S. Pat. No. 4,093,962 issued Jun. 6, 1978 to Ishiguro, et al. A configuration is defined as a single set of operating parameters under which a compression technique functions. As shown in FIG. 1, a compression module 10 receives digital data from a source 12 and outputs digital data at a variable rate. A rate buffer 14 includes a memory which is filled at a variable rate by the output data from the compression module and emptied at a fixed rate by a transmission channel 16. The transmission channel then transmits the compressed data to a receiver where it is processed by a decompression module 18. The fill conditions of the rate buffer are monitored by a rate controller 20, which feeds a control signal S on line 22 back to the compression module, modifying its output bit rate. If the average output bit rate from the compression module is greater than the channel transmission rate, then the buffer will begin to fill with the excess data. The rate controller senses this, and modifies the control signal S so that the compression module reduces the average output bit rate. If the average output bit rate from the compression module is less than the channel transmission rate, then the rate controller modifies the control signal S so that the compression module increases the average output bit rate.
For a given source, the overall performance of the compression technique can be characterized by a rate distortion curve 24, as shown in FIG. 2. In this figure, the output bit rate of the compression module is plotted on the horizontal axis, and the distortion introduced by the compression process is plotted on the vertical axis. The distortion may be calculated via a number of different metrics that compare the overall difference between the digital data entering the compression module 12 to the digital data after it has undergone the subsequent decompression 18. One such distortion metric is the root mean squared error (RMSE). It should be noted that the rate distortion curve shown in FIG. 2 is an average curve that best approximates the cloud of points that characterize the performance of a compression technique. For a rate controlled compression technique, the value of the control signal S is correlated with the bit rate and signal distortion that the compression technique delivers, and hence defines the point on the rate distortion curve where the compression technique will perform. Hence, the value of the control signal S parameterizes the rate distortion function for the compression technique. As the data from the source is being processed by the compression module, the performance point will change position, and slide roughly along the rate distortion curve as the statistics of the input data vary. The task of the rate controller is to smooth out the variations, and keep the performance point as close to the transmission rate R.sub.T indicated by dashed line 26 in FIG. 2, as possible.
If a certain compression technique is applied to data from different sources and the sources have statistically different properties, then the compression technique will generally exhibit a different rate distortion curve for each source, as shown in FIG. 3. Rate controlling the compression technique so that the output bit rate hovers near the transmission rate R.sub.T as shown by dashed line 28 in FIG. 3, is well known in the prior art.
However, more advanced compression techniques will often contain several distinct operating configurations, each of which is designed to achieve a certain average bit rate or distortion level. Thus, a given source, each configuration of a more advanced compression technique will have a different rate distortion curve, as shown in FIG. 4. Generally, the rate distortion curves for the different configurations will overlap, allowing the compression technique to operate over a wide range of bit rates by switching between the available configurations. As before, when the more advanced compression technique is applied to statistically different sources, the result is different sets of rate distortion curves as shown in FIG. 5. In FIG. 5, the set of rate distortion curves for a first source (source 1) are represented by the thick lines, and the set for the second source (source 2) are represented by thin lines.
The task of the rate controller in a more advanced compression technique with multiple configurations now becomes more complex, as the rate controller must determine when it is appropriate to switch between the available configurations as well as modulate the bit rate within a given configuration. Such a rate control method is described in U.S. Pat. No. 4,897,855 issued Jan. 30, 1990 to Acampora. This patent describes a rate controlled DPCM compression scheme that adaptively changes the quantizer (i.e., changes configuration), as indicated by the signal C in FIG. 1, based on the fill percent and fill rate of the rate buffer. Each quantizer can be considered to be a different configuration of the compression scheme. Thus, the compression scheme has multiple configurations, each of which will produce a different rate distortion curve, as shown in FIG. 4. Switching between these configurations based on the fill conditions of the buffer is effective at controlling the rate, but is not optimal from a rate distortion standpoint due to the fact that different sources will produce different sets of rate distortion curves, as shown in FIG. 5. For example, in FIG. 5, a correct change from configuration 0 to configuration 1 will be made for source 2 if the bit rate increases to R.sub.0, but the same configuration change at R.sub.0 will be incorrect for source 1, resulting in a discontinuous jump in output signal quality and bit rate. This is disadvantageous, as discontinuous jumps in the bit rate will make the process more difficult to control, and discontinuous jumps in the reconstructed signal quality are undesirable. The optimal time to switch from configuration 0 to configuration 1 for source 1 would be when the bit rate reaches R.sub.1. Therefore, changing configurations based on the bit rate (buffer fill conditions) solely will not accomplish this optimal transition, because the transition points R.sub.0 and R.sub.1 will change location depending on the source. This problem has not been recognized or addressed in the prior art.